package com.smartbus.bus.service;

import java.util.Map;

/**
 * 文本转语音服务接口
 *
 * @author smartbus
 * @date 2024-09-24
 */
public interface TextToSpeechService {

    /**
     * 将文本转换为语音文件
     *
     * @param text 要转换的文本
     * @param voiceType 语音类型（可选）
     * @param speed 语速（0-15）
     * @param pitch 音调（0-15）
     * @param volume 音量（0-15）
     * @return 语音文件相对路径
     */
    String textToSpeech(String text, String voiceType, Integer speed, Integer pitch, Integer volume);

    /**
     * 将文本转换为语音文件（使用默认参数）
     *
     * @param text 要转换的文本
     * @return 语音文件相对路径
     */
    String textToSpeech(String text);

    /**
     * 获取语音合成配置
     *
     * @return 配置信息
     */
    Map<String, Object> getVoiceConfig();

    /**
     * 删除语音文件
     *
     * @param filePath 文件路径
     * @return 删除结果
     */
    boolean deleteVoiceFile(String filePath);

    /**
     * 清理过期的语音文件
     *
     * @param days 超过多少天的文件被清理
     * @return 清理的文件数量
     */
    int cleanExpiredVoiceFiles(int days);
}